home *** CD-ROM | disk | FTP | other *** search
/ Delphi 5 for Professionals / DELPHI5.iso / AddOns / Components / Cell Control / DATA1.CAB / VCDEMO_Files / PagesDlg.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-11  |  2.7 KB  |  108 lines

  1. // PagesDlg.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "VCDemo.h"
  6. #include "PagesDlg.h"
  7.  
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13.  
  14. /////////////////////////////////////////////////////////////////////////////
  15. // CPagesDlg dialog
  16.  
  17.  
  18. CPagesDlg::CPagesDlg(CWnd* pParent /*=NULL*/)
  19.     : CDialog(CPagesDlg::IDD, pParent)
  20. {
  21.     //{{AFX_DATA_INIT(CPagesDlg)
  22.     m_label = _T("");
  23.     m_pageno = 1;
  24.     //}}AFX_DATA_INIT
  25. }
  26.  
  27.  
  28. void CPagesDlg::DoDataExchange(CDataExchange* pDX)
  29. {
  30.     CDialog::DoDataExchange(pDX);
  31.     //{{AFX_DATA_MAP(CPagesDlg)
  32.     DDX_Text(pDX, IDC_EDIT_LABEL, m_label);
  33.     DDX_Text(pDX, IDC_EDIT_PAGENO, m_pageno);
  34.     DDV_MinMaxUInt(pDX, m_pageno, 1, 100);
  35.     DDX_Control(pDX, IDC_SGCTRL1, m_ctrl);
  36.     //}}AFX_DATA_MAP
  37. }
  38.  
  39.  
  40. BEGIN_MESSAGE_MAP(CPagesDlg, CDialog)
  41.     //{{AFX_MSG_MAP(CPagesDlg)
  42.     ON_BN_CLICKED(IDC_BUTTON_LABEL, OnButtonLabel)
  43.     ON_BN_CLICKED(IDC_BUTTON_NO, OnButtonNo)
  44.     //}}AFX_MSG_MAP
  45. END_MESSAGE_MAP()
  46.  
  47. /////////////////////////////////////////////////////////////////////////////
  48. // CPagesDlg message handlers
  49.  
  50. BOOL CPagesDlg::OnInitDialog() 
  51. {
  52.     CDialog::OnInitDialog();
  53.     
  54.     // TODO: Add extra initialization here
  55.     COleVariant var( "VCDEMO" );
  56.     m_ctrl.DoSetTotalPages( 100 );
  57.     m_ctrl.DoSetMessageTitle( var );
  58.     return TRUE;  // return TRUE unless you set the focus to a control
  59.                   // EXCEPTION: OCX Property Pages should return FALSE
  60. }
  61.  
  62. void CPagesDlg::OnButtonLabel() 
  63. {
  64.     // TODO: Add your control notification handler code here
  65.     UpdateData();
  66.     m_ctrl.DoSetPageLabel( m_ctrl.DoGetCurrentPage(), m_label );
  67.     m_ctrl.DoRedrawPageLabel();
  68. }
  69.  
  70. void CPagesDlg::OnButtonNo() 
  71. {
  72.     // TODO: Add your control notification handler code here
  73.     UpdateData();
  74.     if( m_pageno < m_ctrl.DoGetTotalPages() )
  75.         m_ctrl.DoSetCurrentPage( m_pageno-1 );
  76.     m_ctrl.DoRedrawPageLabel();
  77. }
  78.  
  79. BEGIN_EVENTSINK_MAP(CPagesDlg, CDialog)
  80.     //{{AFX_EVENTSINK_MAP(CPagesDlg)
  81.     ON_EVENT(CPagesDlg, IDC_SGCTRL1, 12 /* OnPageChange */, OnOnPageChangeSgctrl1, VTS_I4 VTS_I4)
  82.     ON_EVENT(CPagesDlg, IDC_SGCTRL1, 47 /* OnAllowComeToPage */, OnOnAllowComeToPageSgctrl1, VTS_I4 VTS_PVARIANT)
  83.     //}}AFX_EVENTSINK_MAP
  84. END_EVENTSINK_MAP()
  85.  
  86. void CPagesDlg::OnOnPageChangeSgctrl1(long oldpage, long newpage) 
  87. {
  88.     // TODO: Add your control notification handler code here
  89.     m_pageno = newpage+1;
  90.     UpdateData( FALSE );
  91. }
  92.  
  93. void CPagesDlg::OnOnAllowComeToPageSgctrl1(long page, VARIANT FAR* allow) 
  94. {
  95.     // TODO: Add your control notification handler code here
  96.     COleVariant var( allow );
  97.     if( page == 4 )var = 0l;    
  98.     else var = 1l;
  99.     *allow = var.Detach();
  100. }
  101.  
  102. void CPagesDlg::OnOK() 
  103. {
  104.     // TODO: Add extra validation here
  105.     //m_ctrl.DoMoveToCell( 3, 19 );
  106.     CDialog::OnOK();
  107. }
  108.